package haw.pr2.A3.implementations;

import haw.pr2.A3.interfaces.*;
import java.util.Collection;
import java.util.Set;
import static haw.pr2.A3.implementations.UtilityclassValues.*;

/**
 *
 * @author Fabian Heidorn, Alexander Kaack
 */
class ContainerImpl extends AbstractContainer {
    
    private ContainerImpl() {
    pallets = PalletStowageImpl.valueOf(5,2,1);
    emptyMass=CON_EMPTY_MASS;
    maxMass=CON_MAX_MASS;
    bBox = UtilityclassValues.boundingBox(CON_LENGTH, CON_WIDTH, CON_HEIGHT);
    
    }
    
    public static Container entityOf() {
        return new ContainerImpl();
    }

    @Override
    public boolean isFree() {
        return false;
    }

    @Override
    public boolean isBlocked() {
        return false;
    }

    @Override
    public boolean isOccupied() {
        return true;
    }

   @Override
    public boolean isEmpty() {
        return pallets.isEmpty();
    }

    @Override
    public boolean isFull() {
        return pallets.isFull();
    }
  
}
